{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "c4da03f0",
   "metadata": {},
   "source": [
    "## 3.4 深度学习库Pytorch安装\n",
    "Pytorch就是一个计算工具,你能够借助它,使计算机完成复杂的计算。\n",
    "\n",
    "Py就是Python,Torch字面意思是火炬,我们可以把它理解成能在GPU中计算的矩阵,而且运算速度特别快。\n",
    "\n",
    "为了能在后续的课程中,更好的学习Pytorch,本小节我们来学习如何安装它。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e720bc10",
   "metadata": {},
   "source": [
    "### 3.4.1 下载与安装\n",
    "首先访问[pytorch官网（pytorch.org）](https://pytorch.org/),点击install\n",
    "\n",
    "<img src=\"./images/3-4-1.png\" width=\"60%\" ></img>\n",
    "\n",
    "先选择pytorch的版本,这里我们选择最新的稳定版1.11; 接着是操作系统,我这里使用的是windows;安装方式  我使用conda进行安装; 编程语言选择python;\n",
    "\n",
    "计算平台 我选择新版的Cuda11.3\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "84e83af4",
   "metadata": {},
   "source": [
    "这里如果你对conda 和 cuda还不了解,建议你先看一下这一章的前两节教程。\n",
    "\n",
    "我来捋一下 pytorch  cuda 与 Nvidia之间的关系：我们想安装pytorch ，使用GPU进行快速运算，那么就需要先安装CUDA，因为它是用来管理GPU实现并行运算的。而CUDA toolkit是Nvadia公司的推出的，所以安装cuda之前，需要确保你的电脑有英伟达独立显卡。\n",
    "\n",
    "同时要注意下载的版本问题，要根据显卡驱动的版本，下载支持的Cuda 版本。如果有必要，可以到这个地址（https://www.nvidia.com/Download/index.aspx?lang=cn） 先升级你的显卡驱动，再根据Cuda 版本安装支持的Pytorch版本。\n",
    "\n",
    "如果你的电脑没有英伟达独立显卡，那么安装CPU版本也是可以的。在学习阶段，使用CPU也能支持跑个小实验。但是你要知道实际项目中还是使用GPU来训练模型。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "deb38f81",
   "metadata": {},
   "source": [
    "然后复制下面这条生成好的命令\n",
    "\n",
    "打开anaconda prompt，使用conda创建一个新的虚拟环境，用来接下来pytorch的学习：\n",
    "\n",
    "conda create  -n  pytorch python=3.8\n",
    "\n",
    "-n 后面是虚拟环境的名字 ，我这里叫pytorch ，当然你也可以叫别的，python的版本指定了3.8\n",
    "\n",
    "环境创建好后，使用：conda activate pytorch 激活这个环境，可以看到此时括号里就是pytorch\n",
    "\n",
    "<img src=\"./images/3-4-2.png\" width=\"60%\" ></img>\n",
    "\n",
    "接下来，把从网站上复制的安装命令，粘贴在这，回车。剩下的就是等待整个安装过程。它会安装pytorch以及其关联的包。\n",
    "\n",
    "<img src=\"./images/3-4-3.png\" width=\"60%\" ></img>"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c41bc451",
   "metadata": {},
   "source": [
    "如果要安装之前版本的Pytorch，请访问[INSTALLING PREVIOUS VERSIONS OF PYTORCH](https://pytorch.org/get-started/previous-versions/),找到要安装的版本，进行安装。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "129471a8",
   "metadata": {},
   "source": [
    "### 3.4.2 检测是否安装成功"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "48872716",
   "metadata": {},
   "source": [
    "pytorch安装完成后，需要验证是否安装成功。\n",
    "\n",
    "先在这个环境中启动python：输入python，回车\n",
    "\n",
    "然后导入torch模块：import torch 回车. **注意是torch而不是pytorch**\n",
    "\n",
    "如果像我这样，界面没有报任何的错误信息，那么意味着PyTorch已经顺利安装了\n",
    "\n",
    "<img src=\"./images/3-4-4.png\" width=\"60%\" ></img>\n",
    "\n",
    "\n",
    "我们来创建一个torch张量，输入：x = torch.rand(5)  ，打印x，也可以正常工作\n",
    "\n",
    "<img src=\"./images/3-4-5.png\" width=\"60%\" ></img>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5001c412",
   "metadata": {},
   "source": [
    "现在我们来检查CUDA，也就是GPU是否可用\n",
    "\n",
    "输入：torch.cuda.is_available() 回车\n",
    "\n",
    "如果输出的是True，意味着可以使用GPU，大功告成\n",
    "\n",
    "<img src=\"./images/3-4-6.png\" width=\"60%\" ></img>\n",
    "\n",
    "\n",
    "如果你安装的明明是 GPU 版本，但是返回的却是“False”，GPU 不可用。那么你就要对照着上面讲解pytroch  cuda 与 nvidia关系的地方检查，一定可以找到原因的。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5f12b3e3",
   "metadata": {},
   "source": [
    "[Next 4-1从线性模型讲起](../Chapter-04%20浅层神经网络/4-1%20从线性模型讲起.ipynb)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5f378f45",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
